import { Notification } from 'element-ui'

class Util {
	// 判断空
	static isNull(obj) {
		if (obj === 'undefined') {
			return true
		}
		if (obj === undefined) {
			return true
		}
		if (obj === null) {
			return true
		}
		if (obj.length === 0) {
			return true
		}
		if (obj === '') {
			return true
		}
		if (obj === []) {
			return true
		}
		return false
	}
	
	// 封装toast
	// static showToast(title, duration = 1500, icon = 'none', position = 'bottom', mask = false) {
	// 	uni.showToast({
	// 		title,
	// 		duration,
	// 		icon,
	// 		position,
	// 		mask
	// 	})
	// }
	
	static showToast(title, index, duration=1500) {
		if (index) {
			Notification.error({
				title,
				duration
			})
		} else {
			Notification.success({
				title,
				duration
			})
		}
	}
	
	// 封装showLoading
	static showLoading(title = '', mask = false) {
		uni.showLoading({
			title,
			mask
		})
	}
	
	static hideLoading() {
		uni.hideLoading()
	}
	
	static showModel(title = '', mask = true) {
		uni.showModal({
			title,
			mask
		})
	}
	
	// 正则校验手机号
	static validPhone(phone) {
		if (!(/^1[3456789]\d{9}$/.test(phone))) {
			Util.showToast('手机号码格式不正确')
			return false
		} else {
			return true
		}
	}
	
	// 正则校验密码
	static validPassword(password) {
		if (!(/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,21}$/.test(password))) {
			Util.showToast('密码格式不正确')
			return false
		} else {
			return true
		}
	}
	
	// 正则校验邮箱
	static validEmail(Email) {
		if (!(/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/.test(Email))) {
			Util.showToast('您输入的邮箱格式不正确，请重新输入')
			return false
		} else {
			return true
		}
	}
	
	// 概率百分比
	static randomProbability(arr1, arr2) {
		var sum = 0,
			factor = 0,
			random = Math.random();
		for (var i = arr2.length - 1; i >= 0; i--) {
			sum += arr2[i]; // 统计概率总和
		};
		random *= sum; // 生成概率随机数
		for (var i = arr2.length - 1; i >= 0; i--) {
			factor += arr2[i];
			if (random <= factor) return arr1[i];
		};
		return null;
	}
	
	static setStorage(key, value) {
		sessionStorage.setItem(key, value);
	}
	
	static getStorage(key) {
		return sessionStorage.getItem(key);
	}
	
	static removeStorage(key) {
		return sessionStorage.removeItem(key);
	}
	
	// 复制
	static copy(data) {
	  let url = data
	  let oInput = document.createElement('input')
	  oInput.value = url
	  document.body.appendChild(oInput)
	  oInput.select() // 选择对象
	  document.execCommand("Copy") // 执行浏览器复制命令
	  Util.showToast('复制成功')
	  oInput.remove()
	}
	
	static blobDownload(content, fName='文件', suffix='.png', fileType='image/png') {
		const blob = new Blob([content], { type:fileType });//指定处理类型
		const fileName = fName + suffix; //下载的文件名称
		if ('download' in document.createElement('a')) { // 非IE下载
		  const elink = document.createElement('a');
		  elink.download = fileName;
		  elink.style.display = 'none';
		  elink.href = URL.createObjectURL(blob);
		  document.body.appendChild(elink);
		  elink.click();
		  URL.revokeObjectURL(elink.href); // 释放URL 对象
		  document.body.removeChild(elink);
		} else { // IE10+下载
		  navigator.msSaveBlob(blob, fileName);
		}
	}
	
	static getMoney(value, num) {
		num = num > 0 && num <= 20 ? num : 2;
		value = parseFloat((value + "").replace(/[^\d\.-]/g, "")).toFixed(num) + ""; //将金额转成比如 123.45的字符串
		var valueArr = value.split(".")[0].split("").reverse() //将字符串的数变成数组
		const valueFloat = value.split(".")[1]; // 取到 小数点后的值
		let valueString = "";
		for (let i = 0; i < valueArr.length; i++) {
			valueString += valueArr[i] + ((i + 1) % 3 == 0 && (i + 1) != valueArr.length ? "," : ""); //循环 取数值并在每三位加个','
		}
		const money = valueString.split("").reverse().join("") + "." + valueFloat; //拼接上小数位
		return money
	}
	
	// static getPhoneId() {
	// 	var info;
	// 	uni.getSystemInfo({
	// 		success(res) {
	// 			info = res
	// 		}
	// 	})
	// 	return info
	// }
	// static getTerminal() {
	// 	var terminal;
	// 	if ((navigator.userAgent.match(
	// 			/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i
	// 		))) {
	// 		/*window.location.href="你的手机版地址";*/
	// 		terminal = 1;
	// 		// alert("mobile")
	// 	} else {
	// 		/*window.location.href="你的电脑版地址";    */
	// 		// alert("pc")
	// 		terminal = 0;
	// 	}
	// 	return terminal;
	// }
}

export {
	Util
}
